1. Technical Field
The present invention relates in general to a computer protocol and in particular to a virtual distributed home agent protocol which is a mobile internet protocol (IP) that manages and provides efficient communications and utilization of resources between a mobile computer system or device and other systems and devices, especially when the mobile computer system or device has moved from one location to another location.
2. Description of the Related Art
Computers or computer systems/devices that communicate with each other over the Internet and a home network require the use of a protocol or Internet protocol (IP) FIG. 1 is a prior art figure of a mobile computer 10 in communications with a home network 12 at one location which is moved to another location that is in communications to the Internet 14. The configuration in FIG. 1 requires a base mobile Internet protocol (IP) for providing and routing communications between computer systems and devices, especially when the mobile computer 10 has moved from one location to another location (i.e. moved from being in communication with the home network 12 to being in communication with the Internet 14). However, inefficiencies, load distribution problems, and error and failure recovery problems exist with current protocols, such as the base mobile Internet protocol (IP). Also, present protocols do not provide back up and recovery methods for providing home agent services to a mobile node(s) in the event that the home agent of the mobile node(s) has failed.
In discussing these protocols, the following terms are generally defined:
xe2x80x9cMobile Nodexe2x80x9d is a host or router that changes its point of attachment from one network or sub-network to another network or sub-network. A mobile node may change its location without hanging its IP address, and it may continue to communicate with other Internet nodes at any location using its (constant or fixed) IP address, assuming link-layer connectivity to a point of attachment is available.
xe2x80x9cHome Agentxe2x80x9d is a router on a mobile node""s home network which tunnels datagrams for delivery to the mobile node when it is away from home and maintains current location information for the mobile node. The home agent has three main operations: 1) sending agent advertisement; 2) receiving a home agent discovery request and processing the discovery request; 3) receiving a registration request and processing the registration request.
xe2x80x9cForeign Agentxe2x80x9d is a router on a mobile node""s visited network, which provides routing services to the mobile node while registered. The foreign agent detunnels and delivers datagrams to the mobile node that were tunneled by the mobile node""s home agent. For datagrams sent by a mobile node, the foreign agent may serve as a default router for registered mobile nodes.
xe2x80x9cAgent Advertisementxe2x80x9d is an advertisement message constructed by attaching a special Extension to a router advertisement message.
xe2x80x9cCare-of Addressxe2x80x9d is the termination point of a tunnel toward a mobile node, for datagrams forwarded to the mobile node while it is away from home. The protocol is able to use two different types of care-of address: a xe2x80x9cforeign agent care-of addressxe2x80x9d is an address of a foreign agent with which the mobile- node is registered and a xe2x80x9cco-located care-of addressxe2x80x9d is an externally obtained local address which the mobile node has associated with one of its own network interfaces.
xe2x80x9cCorrespondent Nodexe2x80x9d is a peer which is communicating with a mobile node. A correspondent node may be either mobile or stationary.
xe2x80x9cHome Addressxe2x80x9d is an IP address, that is assigned for an extended period of time to a mobile node. It remains unchanged regardless of where the node is attached to the Internet.
xe2x80x9cHome Networkxe2x80x9d is a network, possibly virtual, having a network prefix matching that of a mobile node""s home address. Standard IP routing mechanisms will deliver datagrams destined to a mobile node""s Home Address to the mobile node""s Home Network.
xe2x80x9cLinkxe2x80x9d is a facility or medium over which nodes are able to communicate at the link layer. A link underlies the network layer.
xe2x80x9cMobility Agentxe2x80x9d is either a home agent or a foreign agent.
xe2x80x9cMobile Node""s Failure Recovery Informationxe2x80x9d is the minimal amount of information required to recover the mobile node""s operation if its serving home agent failed. The mobile node""s failure recovery information should contain at least a mobile node""s care-of address, mobile node""s home IP address, registration lifetime, and registration flags.
xe2x80x9cAll Home Agents Multicast Addressxe2x80x9d is a D class address (multicast address) which is assigned to the set of home agents on the Internet Service Provider (ISP) network. It is recommended for mobile nodes to use this address to access home agents instead of subnet-directed broadcast address for efficiency reasons.
Computer networks and Internet links have been in existence for several years. Also, wireless access and communications to these networks and to the Internet have also been in use. However, current protocols which handle and deal with communications of mobile computers to the Internet and network, such as base mobile IP, result in various problems. and shortcomings when used by computer systems and devices.
One problem is that present protocols inefficiently use wireless access and communication resources and network resources. For example, prior art FIGS. 2 and 3 show a mobile computer 10 with a mobile node 11 that communicates through the Internet 14 having a relatively low bandwidth to a home network 12 having a relatively large or infinite bandwidth. Current protocols make use of dynamic home agent address resolution or dynamic home agent discovery algorithms. A mobile node 11 registers directly with its home agent 16. However, the mobile node 11 may not know the IP address of its home agent 16, and the mobile node 11 then uses the dynamic home agent resolution or dynamic home agent discovery algorithms to automatically determine the IP address of its home agent 16. In this case, as shown in prior art FIG. 2, the mobile node 11 must perform a home agent discovery request wherein the mobile node 11 sets the home agent subnet-directed broadcast address of the mobile node""s home network 12 and sends the registration request to each home agent 16. All of the home agents 16 receiving the registration request must reply as shown in prior art FIG. 3. Each home agent 16 already having a broadcast destination address (or registered mobile node 11) must reject the mobile node""s registration request and return a rejection registration reply indicating its unicast IP address for use by the mobile node 11 in future registration attempts. The receipt by the mobile node 11 of all of the registration replies from the home agents 16 results in execution time inefficiencies, more complex processing, and in improper utilization of radio frequency (RF) and network bandwidth.
Another problem is that agent advertisement must be used by the base mobile IP in order to detect motion and location of a mobile node 11. Prior art FIG. 4 shows mobility agents, such as home agents 16 or foreign agents, advertising their presence to a mobile node(s) 11 via agent advertisement messages. In this example, wireless networks have a set of RF channels, which is used for communication between hosts (i.e. home agents 16) and mobile nodes 11. When a host (i.e. home agents 16) wants to send a packet to a mobile node 11, the mobile node 11 is allocated one of these RF channels. Packet communication between the host (i.e. home agents 16) and. the mobile node 11 commences once one of the RF channels is allocated. Many other mobile nodes 11 would also be allocated various RF channels. If multiple home agents 16 are periodically sending agent advertisement messages, where the period between transmission, for example, is one (1) second, then low optimization of the RF bandwidth would result causing inefficient use of scarce wireless access and communication resources. A similar inefficiency problem with use of network bandwidth also exists on the network side. Thus, inefficient usage of wireless network resources, such as the use of RF channels, results if multiple home agents send agent advertisement messages.
A further problem relates to load distribution of mobile nodes 11 to home agents 16. Referring to prior art FIG. 5, mobile. computers 10 with mobile nodes 11 are coupled to a home network 12 having home agents 16, and the home agents 16 are linked to computers 18 which have correspondent nodes (CN) 20. The current protocol allows a mobile node 11 to randomly select one of the home agents 16 and then allows it to perform its registration thereto. However, the problem is that an unfair load distribution of mobile nodes 11 to home agents 16 may result as shown between the two home agents 16 in FIG. 5 since the mobile nodes 11 are allowed to randomly select the home agents 16 to which they are registering. Thus, the home agents 16 are not efficiently and/or optimally used in the current protocols.
Another problem is that if a failure or error occurs at a home agent, then present protocols do not provide for providing back up and recovery home agent services to the mobile node(s) in the event that the home agent of the mobile node(s) has failed. Thus, present protocols do not provide ways to recover from such errors or failures. The mobile node(s) has to then implement the dynamic home agent discovery algorithms to re-register the mobile node(s) 11 to a properly working home agent 16. The problem again results in the execution of inefficient and complex processes for performing the discovery home agent discovery algorithms and registration process as were discussed earlier.
Prior art FIGS. 6 to 9 are used to illustrate the error and failure recovery problem in current protocols. FIG. 6 shows the same network configuration as shown in FIG. 5 except that a failure or error has occurred at one of the home agents 16. In this instance, FIG. 7 shows that a mobile node 11 sending or broadcasting its registration requests to the home agent 16 with the failure or error occurrence, but the mobile node 11 does not receive any registration reply and thus no IP address for its home agent 16. Thus, the failure or error may not be identified for awhile. After the mobile node 11 discovers the failure or error, it then realizes that it must re-register to a new home agent 16. The mobile node 11 executes the dynamic home agent discovery resolution or home agent discover algorithms to discover a new IP address as shown in FIG. 8. Dynamic home agent registration requests and respective registrations replies, which are the requests and replies discussed earlier for FIGS. 2 and 3, continue to be communicated until a new home agent is assigned and registered to the mobile node 11. FIG. 9 shows that mobile node 11 is registered to a new home agent 16. Thus, identification of failure or error in the current protocol is inefficient or does not exist. Also, backup or recovery methods in the event of a home agent failure or error do not exist. The manner in which home agents 16 recover from failures or errors for the current protocols are very inefficient and are not fully reliable since full recovery from the failure or error may not at times be possible. Present methods do not efficiently use communication and network resources and are time-consuming in the execution of the home agent registration processes.
It would therefore be advantageous and desirable to provide a protocol that more efficiently uses the wireless access and communications resources and the network resources, that more evenly distributes the load from mobile nodes to home agents, that provides backup and recovery home agent services to mobile node(s) in the event that a failure or error has occurred at a home agent, and that is more efficient in identifying home agent failures or errors and in recovering from these failures or errors. It would be advantageous and desirable to provide a virtual distributed home agent protocol that overcome the problems and disadvantages of the prior art protocols.
It is therefore one object of the present invention to provide a new and improved computer protocol for Internet communications and networks.
It is another object of the present invention to provide a new and improved mobile computer protocol for Internet communications and networks of mobile computers to other systems and devices.
It is a further object of the present invention to provide a protocol that more efficiently uses the wireless access and communications resources and the network resources.
It is still a further object of the present invention to provide a protocol that more evenly distributes the load from mobile nodes to home agents.
It is a still another object of the present invention to provide backup and recovery home agent services to mobile node(s) in the event that a failure or error has occurred at a home agent
It is another object of the present invention to provide a protocol that is more efficient in identifying home agent failures or errors and in recovering from these failures or errors.
The foregoing objects are achieved as is now described. A virtual distributed home agent protocol that manages and provides efficient communications and utilization of resources between a mobile computer system or device and other systems and devices, especially when the mobile computer system or device has moved from one location to another location. The protocol more efficiently uses wireless access and communications resources and network resources, more evenly distributes load from mobile nodes to home agents, provides backup and recovery home agent services to mobile node(s) when a home agent has failed, and more efficiently identifies home agent failures or errors and is able to recover from these failures or errors. VDHAP encapsulates and integrates communications of home agents into a single virtual home agent. Communications and processes between the mobile node and virtual home agent are streamlined. Each home agent maintains a home agent list containing information about each of the home agents coupled to the home link. Heartbeat messages are used to communicate the information between the home agents. A designated home agent on behalf of the home agents for the virtual home agent is used to send and broadcast home agent advertisement, to receive and process a request from the mobile node, to process and send a reply to the mobile node. Synchronization mechanisms or tools, such as home agent priority or floating token method, are provided for proper operation of the VDHAP. These mechanisms or tools are used to fairly distribute loads from the mobile node among the home agents within the virtual home agent.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.